package main

import (
	"fmt"
)

var ch1 chan int = make(chan int)
var ch2 chan int = make(chan int)

func say(s string) {
	fmt.Println(s)
	ch1 <- <-ch2 // ch1 等待 ch2流出的数据
}

func say2(s string) {
	fmt.Println(s)
	ch2 <- 2
}

func main() {
	//c, quit := make(chan int), make(chan int)
	//
	//go func() {
	//	c <- 1    // c通道的数据没有被其他goroutine读取走，堵塞当前goroutine
	//	quit <- 0 // quit始终没有办法写入数据
	//}()
	//
	//go func() {
	//	println(<-c)
	//}()
	//
	//println(<-quit) // quit 等待数据的写
	//
	//time.Sleep(time.Second)

	//c := make(chan int)
	//go func() {
	//	c <- 1
	//}()
	//
	//time.Sleep(time.Second)

	c, quit := make(chan int, 2), make(chan int)

	go func() {
		c <- 1
		c <- 1
		c <- 1
		quit <- 0
	}()

	//<-c // 取走c的数据！
	<-quit
}
